1. Field of the Invention
The present invention relates to an apparatus and a method for visualizing computational results in scientific and engineering field by performing numerical simulation while synthesizing image data based on the simulation.
This application is based on Japanese Patent Application No. 10-105175, the contents of which are incorporated herein by reference.
2. Description of the Related Art including information disclosed under 37 CFR 1.97 and 1.98
The conditions of flow of air or water, a magnetic field, and an electric field cannot be seen, but can be visualized using a simulation. To visualize the physical phenomenon, the processors perform a simulation and a visualization process in a parallel processing manner, which will be described below.
The processors perform the computation, and generate polygon data from graphic processing based on the simulation. The polygon data are transferred to an image display, which then performs synthesis of the polygon data and rendering computation for the polygon data based on visualization parameters. As the result, the image display hows images based on the polygon data representing the condition to the fluid flow.
In general, as the scale of the numerical simulation becomes large, the amount of the polygon data becomes enormous. The transfer of the polygon data takes much time while performing the computation and the visualization process simultaneously. As the result, the visualization process becomes slow.
A visualization technique, which visualizes the condition of the target object quickly based on the computational result, has been proposed in Japanese Patent Application, First Publication No. Hei 09-293146. As shown in FIG. 4, the visualization processing unit 1 of the background art includes multiple of processors 2 connected to an internal network 5. The processors 2 perform the computation using parallel flow simulators 3 and the generation of the pixel data using, pixel data parallel generators 4 in a parallel processing manner. The generated image pixel data is transferred through the internal network 5 to an image synthesizer 6, which then Synthesizes pixel data for one frame using a pixel data synthesizer 7 and transfers the data through the network 8 to an image display 9.
In this visualization processing unit 1, the parallel flow simulator 3 computes and analyze the condition of the target object. As shown in FIG. 5, based on the computation and the preset parameters for visualization, the pixel data parallel generators generate the pixel data, which represent the image of the condition of the target object, and Z-buffer values, which represent depths from a specified viewpoint (step S1). The pixel data and the Z-buffer values are transferred to the pixel data synthesizer 7 in the image synthesizer 6 connected to the internal network 5 (step S2). The pixel data synthesizer 7 synthesizes synthetic pixel data for one frame from the pixel data and the Z-buffer values (step S3), transfers the synthesized pixel data to the image display 9 connected to the external network 8 (step S4), and displays the image (step S5). That is, the data generated by the processors 2 are gathered once at the image synthesizer 6, and then are transferred to the image display 9.
This conventional visualization processing system is effective when the data transfer rate of the internal network 5 is higher than that of the external network 8. for example, when the visualization processing unit 1 is provided in a parallel computer with multiple processor elements (PEs) so that the PEs are assigned as the processors 2 and the image synthesizer 6. In the parallel computer, the data transfer between the processors 2 and the image synthesizer 6 actually is the communication between PEs which is faster than that of the normal network.
The amount of the data transferred between the processors 2 and the image synthesizer 6 is greater than that transferred between the image synthesizer 6 and the image display 9. Actually, the size of the pixel data transferred between the processors 2 and the image synthesizer 6 is smaller than that between the image synthesizer 6 and the image display 9 because the pixel data generated by each processor 2 is the divided portion assigned to the processor 2. The amount of data transfer between the processors 2 and the image synthesizer 6 is increased because the Z-buffer values are added and the data from all the processors 6 are simultaneously transferred. Preferably, the image synthesizer 6 may be provided in a high speed network, and the synthesized image data may be transferred through the low speed network. thereby enhancing the efficiency. Thus, the conventional visualization processing system is advantageous when it is applied to the parallel computer.
Recently, a workstation cluster (WS cluster), in which a number of workstations each of which has only one PE, are connected by a normal network and work as a parallel computer performing the parallel processing at low costs, has received much attention. When the conventional visualization processing system is applied to the WS cluster. the data transfer between the processors 2 and the image synthesizer 6 through the network 5 is equivalent to the data transfer through the normal network, whose transfer rate is equal to that between the visualization processing unit 1 and the image display 9 through the network 8. Therefore, the time required to transfer the data from the processors 2 to the image synthesizer 6 is actually equal to the time required to transfer the data to the image display 9. The unnecessary data transfer between the image synthesizer 6 and the image display 9 makes the process inefficient.
It is therefore an object of the present invention to provide an apparatus and a method for visualizing image quickly based on the pixel data even when the internal network in the visualization processing unit is slow.
In order to accomplish the above object, the apparatus for visualizing an image. comprises: a simulator for computing and analyzing a condition of an object in a visualization processing unit; a pixel data generator for generating pixel data representing the condition of the object based on the simulation by said simulator and parameters for visualization and generating a Z-buffer value representing a depth from a specified viewpoint; a pixel data synthesizer for synthesizing synthetic pixel data for one frame from the pixel data and the Z-buffer value supplied from the pixel data generator, and an image display for displaying an image based on the synthetic pixel data, wherein the pixel data synthesizer is provided in the image display connected through an external network to the visualization processing unit.
In another aspect of the present invention, the pixel data synthesizers are provided both in the image display connected through the external network to the visualization processing unit, and in an image synthesizer connected through an internal network to the visualization processing unit. The pixel data and the Z-buffer values from the pixel data generator are selectively transferred to the image display or to the image synthesizer, depending on the data transfer rates in the internal network and the external network.
The visualization processing unit has multiple processors which include the flow simulators and the pixel data generators.
The method for visualizing an image, according to the present invention, comprises the steps of: simulating a condition of an object; generating pixel data representing the condition of the object based on the simulated result and parameters for visualization; tranferring a Z-buffer value representing a depth from a specified viewpoint; transferring the pixel data and the Z-buffer value through an external network to an image display; synthesizing synthetic pixel data for one frame from the pixel data and the Z-buffer value in the image display; and displaying an image based on the synthetic pixel data.
In another aspect of the invention, the method for visualizing an image, comprises the steps of: simulating a condition of an object; generating pixel data representing the condition of the object based on the simulated result and parameters for visualization; generating a Z-buffer value representing a depth from a specified viewpoint; transferring the pixel data and the Z-buffer value selectively to the image display connected through the external network to the visualization processing unit and to the image synthesizer connected to the internal network in the visualization processing unit; synthesizing synthetic pixel data for one frame from the pixel data and the Z-buffer value in the image display; and displaying an image based on the synthetic pixel data.
In another aspect of the present invention, the computer readable medium contains program instructions for visualizing an image, and the program instructions includes the steps comprising: simulating a condition of an object; generating pixel data representing the condition of the object based on the simulated result and parameters for visualization; generating a Z-buffer value representing a depth from a specified viewpoint; transferring the pixel data and the Z-buffer value through an external network to an image display; synthesizing synthetic pixel data for one frame from the pixel data and the Z-buffer value in the image display; and displaying an image based on the synthetic pixel data.
The program instructions further include the steps of transferring the pixel data and the Z-buffer value through an internal network to an image synthesizer; and synthesizing synthetic pixel data for one frame from the pixel data and the Z-buffer value in the image synthesizer.